package com.xhwl.centiotdata.pojo.dto.huawei;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.RequiredArgsConstructor;

import java.util.List;

/**
 * @Author: yanyixiong
 * @Description:
 * @Date: create in 11:19 2022/5/12
 */
@Data
@Builder
@RequiredArgsConstructor
@AllArgsConstructor
public class PedestrianAuthHuaWeiIoTDTO {



    private List<CardService> cardServices;


    @Builder
    @Data
    public static class CardService{
        /**
         * 项唯一标识
         * 作为卡凭证唯一标识
         * 为 36 位 GUID
         */
        private String itemId;

        private List<IotDevice> deviceList;

        /**
         * 卡面号
         */
        private String cardFaceNo;

        /**
         * 凭证类型
         * EM 卡：1
         * MF1-A 卡：55
         * 人脸凭证：170
         */
        private Integer credentialType;

        /**
         * 凭证卡号
         * 凭证卡号需为我司发行器读出的物理卡号
         */
        private String credentialNo;

        /**
         * 凭证状态
         * 传空则默认为 NORMAL
         * NORMAL 正常
         * LOSSED 挂失/冻结
         * BACKED
         */
        private String credentialStatus;

        /**
         * 人员唯一标识
         */
        private String personId;

        /**
         * 服务开始时间
         */
        private String serviceStartDate;

        /**
         * 服务结束时间
         */
        private String serviceEndDate;

        /**
         * 卡有效起时间段1
         */
        private String startTime1;

        /**
         * 卡有效止时间段1
         */
        private String endTime1;

        /**
         * 卡有效起时间段2
         */
        private String startTime2;

        /**
         * 卡有效止时间段2
         */
        private String endTime2;

        /**
         * 卡有效起时间段3
         */
        private String startTime3;

        /**
         * 卡有效止时间段3
         */
        private String endTime3;

        /**
         * 卡有效起时间段4
         */
        private String startTime4;

        /**
         * 卡有效止时间段4
         */
        private String endTime4;

        /**
         * 有效星期
         * 默认"1111111"每一个字节依
         * 次代表周一至周日，'1'代表有
         * 效，'0'无效
         */
        private String week;

        /**
         * 卡密码
         * 值为 4 位数字
         */
        private String cardKey;

        /**
         *  JPG 图片的 base64 字符串
         * （人脸凭证时必须）
         * /9j/4AAQSkZJRgABAgEAYABgAA
         * D/..
         */
        private String templateData;

        /**
         * 是否删除服务
         * 0：默认，新增/更新门禁服务
         * 1：删除门禁服务
         */
        private Integer isDeleted;
    }

    @Data
    @Builder
    public static class IotDevice{

        private String deviceGuid;

        private Integer isDeleted;

    }



}
